package com.cwh.taskcenter.task.model;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 任务模板表
 *
 * @author cwh
 * @date 2025-06-10 21:34:21
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class TaskDO implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 任务模板ID
	 */
	private Long id;

	/**
	 * 任务标题
	 */
	private String taskTitle;

	/**
	 * 任务副标题
	 */
	private String taskSubtitle;

	/**
	 * 任务描述
	 */
	private String taskDescription;

	/**
	 * 任务封面url
	 */
	private String taskCoverUrl;

	/**
	 * 任务类型: 周期性/非周期性
	 */
	private String taskType;

	/**
	 * 任务周期(1:一次性 2:每日 3:每周 4:每月 5:自定义)'
	 */
	private String cycleType;

	/**
	 * 领取类型: AUTO-自动参与/MANUAL-需手动领取
	 */
	private String claimType;

	/**
	 * 规则表达式
	 */
	private String ruleJson;

	/**
	 * 开始时间
	 */
	private LocalDateTime startTime;

	/**
	 * 结束时间
	 */
	private LocalDateTime endTime;

	/**
	 * 最大参与次数
	 */
	private Integer maxParticipate;

	/**
	 * 状态(1:草稿,2:已发布,3:已暂停,4:已结束)
	 */
	private String taskStatus;

	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;

	/**
	 * 更新时间
	 */
	private LocalDateTime updateTime;

	/**
	 * 用户群体类型(1:全部用户 2:新用户 3:活跃用户 4:自定义用户组)
	 */
	private String userGroupType;

}